package com.anyou.mall.supply.service;

import java.time.LocalDate;
import java.util.List;
import com.anyou.mall.supply.domain.Supply;
import com.anyou.mall.supply.vo.SupplyVo;

/**
 * 补给单Service接口
 *
 * @author ruoyi
 * @date 2023-10-13
 */
public interface ISupplyService
{
    /**
     * 查询补给单
     *
     * @param supplyId 补给单主键
     * @return 补给单
     */
    public SupplyVo selectSupplyBySupplyId(Long supplyId);

    /**
     * 查询补给单列表
     *
     * @param supply 补给单
     * @return 补给单集合
     */
    public List<Supply> selectSupplyList(Supply supply);

    /**
     * 新增补给单
     *
     * @param supply 补给单
     * @return 结果
     */
    public int insertSupply(Supply supply);

    /**
     * 修改补给单
     *
     * @param supply 补给单
     * @return 结果
     */
    public int updateSupply(Supply supply);

    /**
     * 批量删除补给单
     *
     * @param supplyIds 需要删除的补给单主键集合
     * @return 结果
     */
    public int deleteSupplyBySupplyIds(Long[] supplyIds);

    /**
     * 删除补给单信息
     *
     * @param supplyId 补给单主键
     * @return 结果
     */
    public int deleteSupplyBySupplyId(Long supplyId);

    /**
     * 定时生成补给订单
     */
    void ceateBjOrderTask();

    /**
     * 修改下次配送时间
     * @param date
     */
    void editTime(LocalDate date);

    /**
     *开孡配送
     * @param supplyId
     */
    void startPs(Long supplyId);

    /**
     * 判断所属合伙人
     * @param receiveProvince
     * @param receiveCity
     * @param receiveArea
     * @param receiveStreet
     * @return
     */
    Long getPartnerId(String receiveProvince, String receiveCity, String receiveArea, String receiveStreet);
}
